package WInterface
{
	/**
	 *数据只读接口,提供给view类使用. 一个model可以被多个view链接
	 * @author 张进辉
	 * 
	 */	
	public interface IModel
	{
		/**获取数据,支持跨级访问.
		 * @param key: 查询的属性名称,形式可为"AClassPro.BClassPro.CClassPro"*/
		function getData(key:String):Object;
		/**绑定.支持跨级访问.
		 * @param uid: 绑定对象的uid
		 * @param key: 查询的属性名称,形式可为"AClassPro.BClassPro.CClassPro"
		 * @param callback: 该属性发生改变时的回调*/
		function bind(uid:String,key:String,callback:Function):void;
		/**
		 *是否包含该uid类的绑定 
		 * @param uid
		 * @return 
		 * 
		 */		
		function hasBindClass(uid:String):Boolean;
		/**将Model和指定的View链接断开,
		 * 该操作会清除所有与view相关的绑定,
		 * 但model本身的数据不会被清除.
		 * @param uid: 要断开的view对象uid*/
		function disconnect(uid:String):void;
	}
}